/**
 * n阶矩阵中， mines 中给出的元素为 0，其他每个元素都为 1
 * 求 最大加号标志的阶
 * @param {*} n 
 * @param {*} mines 
 * @returns 
 */
// 暴力法
var orderOfLargestPlusSign = function (n, mines) {
    // 生成网格
    const grid = Array.from(new Array(n), () => {
        return Array(n).fill(1)
    })
    mines.forEach(el => {
        grid[el[0]][el[1]] = 0
    });
    // 统计每一个点计算出上下左右可以延伸出去的最短长度
    let count = 0
    for (let i = 0; i < n; i++) {
        for (let j = 0; j < n; j++) {
            let left = 0, right = 0, top = 0, bottom = 0
            while (j + left >= 0 && grid[i][j + left] !== 0) left--
            while (j + right < n && grid[i][j + right] !== 0) right++
            while (i + top >= 0 && grid[i + top][j] !== 0) top--
            while (i + bottom < n && grid[i + bottom][j] !== 0) bottom++
            count = Math.max(count, Math.min(-left, right, -top, bottom))
        }
    }
    return count
};